Overview

All the source codes are in the ugv_stereo GitLab workspace. They are tagged with final version. The core modules include:

  • SSLAM package is an optimization-based multi-sensor (mainly stereo camera) state estimator, which achieves accurate self-localization and map management for autonomous applications.

  • Cubicle Detection package handles stereo matching for range estimation, obstacle detection, object classification and tracking, using Darknet as backend.

  • LaneKerb Detection package achieves real-time lane and kerb detection under various road scenarios and diverse weather conditions.

  • Cubicle Merge package handles the mapping functionality. It merges the object tracking output with localization 6D pose output.

  • Calibration package convert the Matlab calibration in to the desired format for this application.

Platform

Ubuntu 16.04 or above. Fully tested under Ubuntu 16.04.

ROS envrionment.

System Diagram

_images/overview.png

Fig. 1 System Flow Chart.

Executive Summary of different modules

Module

Theory

Dependencies

Latency (ms)

SSLAM

  • Optical Flow

  • Good Feature to track

  • Sliding window optimization

OpenCV
Ceres-solver
Cereal

100

Cubicle
Detection
  • Stereo matching

  • Postive obstacle detection

  • Negative obstacle detection

  • Multiple object classification

  • Multiple object tracking

  • Slope estimation

OpenCV
Darknet with CUDA

40

Curb & Lane
Detection
  • Fully Convolutional Networks

  • Mean Shift clustering

Tensorflow 1.10

30

Cubicle Merge

30